﻿
namespace Microsoft.Xna.Framework.Graphics
{
	/// <summary>
	/// Contains rendering state for drawing with an effect; an effect can contain one or more passes.
	/// </summary>
	public sealed class EffectPass
	{
		#region Fields
		internal int _index;
		internal string _name;
		internal EffectTechnique _technique;
		internal EffectAnnotationCollection pAnnotations;
		#endregion

		#region Properties
		/// <summary>
		/// Gets the set of EffectAnnotation objects for this EffectPass.
		/// </summary>
		public EffectAnnotationCollection Annotations
		{
			get { return pAnnotations; }
		}

		/// <summary>
		/// Gets the name of this pass.
		/// </summary>
		public string Name
		{
			get { return _name; }
		}
		#endregion

		#region Constructor
		internal EffectPass(EffectTechnique technique, int index)
		{
			this._technique = technique;
			this._index = index;

			this.pAnnotations = new EffectAnnotationCollection(4);
		}
		#endregion

		/// <summary>
		/// Begins this pass.
		/// </summary>
		public void Apply()
		{
		}
	}
}
